1. Field of the Invention
This invention relates to data migration, and more particularly to apparatus and methods for efficiently migrating extents in multi-tier storage architectures.
2. Background of the Invention
Tiered storage, also known as hierarchical storage, is a storage architecture typically containing high-cost and lost-cost storage media logically arranged into tiers. This architecture may be used to efficiently utilize high-cost and lost-cost storage media to provide a desired level of cost and performance. For example, certain high-speed storage devices, such as solid state drives, are faster and more expensive than storage devices such as hard disk drives, which are in turn faster and more expensive than magnetic tape drives or optical drives. While it may be desirable to store all data on faster storage devices such as solid state drives, this can be impractical and prohibitively expensive. Instead, tiered storage enables slower and less expensive storage devices to store the bulk of an enterprise's data. This data may then be moved or copied to faster storage devices when needed. This may enable faster devices to act as cache for slower devices.
Current implementations for migrating extents (i.e., contiguous areas of data storage) within tiered storage architectures typically address why and where extents need to be migrated to improve performance. However, the decision as to when to migrate extents is either not addressed or not given the attention it deserves. The timing associated with migrating extents has large implications on performance. For example, migrating extents when storage devices are processing large amounts of I/O can significantly reduce the storage devices' I/O performance. In certain cases, migrating extents at inopportune times can be self-defeating as the goal of the migration may be that of improving I/O performance.
In view of the foregoing, what are needed are apparatus and methods to more effectively address when to migrate extents between extent pools in a multi-tier storage architecture. Ideally, such apparatus and methods will minimize I/O performance degradation on extent pools that are either the source or destination for the migration.